Computer systems may include different resources used by one or more host processors. Resources and host processors in a computer system may be interconnected by one or more communication connections. These resources may include, for example, data storage devices such as those included in the data storage systems manufactured by EMC Corporation. These data storage systems may be coupled to one or more servers or host processors and provide storage services to each host processor. Multiple data storage systems from one or more different vendors may be connected and may provide common data storage for one or more host processors in a computer system.
A host processor may perform a variety of data processing tasks and operations using the data storage system. For example, a host processor may perform basic system I/O operations in connection with data requests, such as data read and write operations.
Host processor systems may store and retrieve data using a storage device containing a plurality of host interface units, disk drives, and disk interface units. The host systems access the storage device through a plurality of channels provided therewith. Host systems provide data and access control information through the channels to the storage device and the storage device provides data to the host systems also through the channels. The host systems do not address the disk drives of the storage device directly, but rather, access what appears to the host systems as a plurality of logical disk units. The logical disk units may or may not correspond to the actual disk drives. Allowing multiple host systems to access the single storage device unit allows the host systems to share data in the device. In order to facilitate sharing of the data on the device, additional software on the data storage systems may also be used.
Computers, computer networks, and other computer-based systems are becoming increasingly important as part of the infrastructure of everyday life. Networks are used for sharing peripherals and files. In such systems, complex components are the most common sources of failure or instability. The proliferation of multiple interacting components leads to problems that are difficult or impossible to predict or prevent. The problems are compounded by the use of networks, which introduce the added complexity of multiple machines interacting in obscure and unforeseen ways.
Additionally, the need for high performance, high capacity IT systems is driven by several factors. In many industries, critical IT applications require outstanding levels of service. At the same time, the world is experiencing an information explosion as more and more users demand timely access to a huge and steadily growing mass of data including high quality multimedia content. The users also demand that information technology solutions protect data and perform under harsh conditions with minimal data loss and minimum data unavailability. Computing systems of all types are not only accommodating more data but are also becoming more and more interconnected, raising the amounts of data exchanged at a geometric rate.
To address this demand, modern data storage systems (“storage systems”) are put to a variety of commercial uses. For example, they are coupled with host systems to store data for purposes of product development, and large storage systems are used by financial institutions to store critical data in large databases. For many uses to which such storage systems are put, it is highly important that they be highly reliable so that critical data is not lost or unavailable.
It will be appreciated that different tasks may be performed in connection with data storage systems. For example, software may be executed on the data storage systems in connection with performing data storage administration tasks such as for data storage configuration, management, and/or monitoring. The monitoring of data storage systems may include analyzing the health of the data storage system and investigating the cause of a failure in the data storage system when the data storage system fails to function successfully. The monitoring of the data storage system may be performed by services such as a data collection service, a configuration service and a performance analyzer service. For example, the data collection service may gather logs of the storage system (“system logs”), snapshots of the data storage system's memory, configuration and status information of the data storage system. It will be appreciated in case of a failure in such storage systems, it is useful that the information is investigated in a timely manner for preventing further failures in such storage systems.
However, it is also useful that potential problems in connection with data storage systems are identified before a failure or crisis situation arises. If a crisis situation is left to develop it may be too late to rectify the problem in the data storage system without causing disruption and inconvenience to the users of the data storage system.
In many organizations (e.g., companies), it is common to store equipment in racks, which typically house several components on different shelves therein. By storing components in racks, an organization can organize and optimize space utilization. The optimization and organization of space can be very important if the equipment must be stored under particular environmental conditions, such as low humidity and/or low temperature conditions. Under those conditions, a special room is usually dedicated to housing such environmentally sensitive equipment. In any event, it is not uncommon to have a room filled with multiple racks, each storing several components.
Keeping track of the location of each component can be a daunting, but necessary, task. If the organization desires to reconfigure its network, or if a particular component, such as a server, sends out an alert that a hardware component is about to fail, a system administrator must be able to locate the components quickly. System management software is available to help the system administrator monitor computer components such as servers, storage devices, and network routers, and to warn the system administrator if and when intervention is required for a particular component. For example, intervention would be necessary for environmental concerns (such as elevated temperatures in a portion of the equipment), hardware failures, and performance issues. System alerts can also include warnings of potential problems so that the system administrator can take preventive measures to avoid a catastrophic failure.
Typical system management software applications include a system management console program and a system management agent. The console program typically resides on the system administrator's workstation, and the management agent resides on the managed components. The system administrator is able to monitor each component through the cooperation between the console program and the management agent. The utility of such programs can be limited if the system administrator cannot identify the physical location of a component, particularly if the component is one of several hundred, or mounted in a rack that is in a room with dozens of other similar racks.
Systems for creating three-dimensional models of objects such as buildings are known in the art. Such systems allow the user to place features such as floors, ceilings, exterior walls, interior walls, doors, windows, columns or other support structures, and other suitable features in desired locations so as to create a three-dimensional model of a building or other suitable object. In addition, such systems allow a user to create views of the building or other object, such as to view the building or other object from a different perspective, to make a cut-away view through the object, or to otherwise change the view of the model.
Recent developments in integration technology have opened the way for the spread of various portable devices such as mobile phones and tablet computers that provide a variety of functions such as a digital camera function.